IfList.prototype = new Iface;
IfList.prototype.constructor = IfList;

/**
 *	@class
 *	Classe que implementa especificidades de lista para a interface.
 */
function IfList () {

	/**
	 *	Chamada o 'super init' e registra qual evento informa que os dados
	 *	estão prontos para renderização.
	 *	@see Iface#init
	 */
	this.init = function (args) {
		Evt.listen ({scope: 'CTRL', name: 'MAILLIST_LOADED', obj: this, method: 'render'});
	}

	/**
	 *	Define como será a renderização desta classe.
	 *	É chamado através de um evento que por sua vez é disparado pelo controle,
	 *	quando está pronto com os dados do backend.
	 *	@param data Dados vindos do controle para ser renderizado
	 */
	this.render = function (args)	{
		var myReader = new Ext.data.ArrayReader ({}, [
			{name: 'from'},
			{name: 'subject'},
			{name: 'test'}
		]);

		var myData = new Array ();
		for (var i = 0; i < args.data.length; i++) {
			myData.push ([args.data[i].from, args.data[i].subject, args.data[i].test]);
		}

		this.grid = new Ext.grid.GridPanel({
	        store: new Ext.data.Store({
				data: myData,
				reader: myReader
			}),
			columns: [
				{header: 'From', width: 120, sortable: true, dataIndex: 'from'},
				{header: 'Subject', width: 90, sortable: true, dataIndex: 'subject'},
				{header: 'Test', width: 90, sortable: true, dataIndex: 'test'}
			],
			viewConfig: {
				forceFit: true
			},
			header: false,
			width: 500,
			frame: true,
			layout: 'fit',
			bodyBorder: false,
			border: false,
			hideBorders: true,
			frame: true
		});

		this.parentObj.topContentPanel.add (this.grid);
		this.parentObj.viewPort.doLayout ();
	}
}
